import { IPSAppDEField } from './ipsapp-defield';
import { IPSAppView } from '../view/ipsapp-view';
import { IPSDEACMode } from '../../dataentity/ac/ipsdeacmode';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSAppDEACMode
 */
export interface IPSAppDEACMode extends IPSDEACMode {
  /**
   * 从排序应用属性对象
   *
   * @type {IPSAppDEField}
   */
  getMinorSortPSAppDEField(): IPSAppDEField | null;

  /**
   * 从排序应用属性对象
   *
   * @type {IPSAppDEField}
   */
  get minorSortPSAppDEField(): IPSAppDEField | null;

  /**
   * 从排序应用属性对象（必须存在）
   *
   * @type {IPSAppDEField}
   */
  getMinorSortPSAppDEFieldMust(): IPSAppDEField;

  /**
   * 嵌入选择视图
   *
   * @type {IPSAppView}
   */
  getPickupPSAppView(): IPSAppView | null;

  /**
   * 嵌入选择视图
   *
   * @type {IPSAppView}
   */
  get pickupPSAppView(): IPSAppView | null;

  /**
   * 嵌入选择视图（必须存在）
   *
   * @type {IPSAppView}
   */
  getPickupPSAppViewMust(): IPSAppView;

  /**
   * 文本应用属性对象
   *
   * @type {IPSAppDEField}
   */
  getTextPSAppDEField(): IPSAppDEField | null;

  /**
   * 文本应用属性对象
   *
   * @type {IPSAppDEField}
   */
  get textPSAppDEField(): IPSAppDEField | null;

  /**
   * 文本应用属性对象（必须存在）
   *
   * @type {IPSAppDEField}
   */
  getTextPSAppDEFieldMust(): IPSAppDEField;

  /**
   * 值应用属性对象
   *
   * @type {IPSAppDEField}
   */
  getValuePSAppDEField(): IPSAppDEField | null;

  /**
   * 值应用属性对象
   *
   * @type {IPSAppDEField}
   */
  get valuePSAppDEField(): IPSAppDEField | null;

  /**
   * 值应用属性对象（必须存在）
   *
   * @type {IPSAppDEField}
   */
  getValuePSAppDEFieldMust(): IPSAppDEField;
}
